function a() {
  this.name = 'wzy'
}

a.prototype.say1 = function() {
  console.log('a');
}

function b() {
  this.age = 18;
}
b.prototype.say2 = function() {
  console.log('b');
}

function c() {
  a.call(this);
  b.call(this);
}
for (let key in a.prototype) {
  c.prototype[key] = a.prototype[key];
}

for (let key in b.prototype) {
  c.prototype[key] = b.prototype[key];
}

const p = new c();
p.say1();
p.say2();
console.log(p.age);
console.log(p.name);
console.log(p);
console.log(c);
console.log(c.prototype);

// ES6的多继承
// class base {}

// const a = (superClass) => class extends superClass {
//   constructor() {
//     super();
//     this.name = 'wzy';
//   }
//   say1() {
//     console.log('a');
//   }
// }

// const b = (superClass) => class extends superClass {
//   constructor() {
//     super();
//     this.age = 18;
//   }
//   say2() {
//     console.log('b');
//   }
// }
// class c extends b(a(base)) {}

// const p = new c();
// p.say1();
// p.say2();
// console.log(p.age);
// console.log(p.name);
// console.log(p);
// console.log(c);
// console.log(c.prototype);

